package me.android.library.common.service.monitor;

import android.net.wifi.p2p.WifiP2pDevice;

/**
 * WiFi P2P连接监控接口
 * 定义WiFi P2P连接相关的监控方法
 */
public interface WifiP2pConnectionMonitor extends ConnectionMonitor {
    /**
     * 开始扫描WiFi P2P设备
     */
    void startWifiP2pScan();

    /**
     * 停止扫描WiFi P2P设备
     */
    void stopWifiP2pScan();

    /**
     * 设置目标WiFi P2P设备并尝试连接
     * @param device 目标WiFi P2P设备
     */
    void setTargetWifiP2pDevice(WifiP2pDevice device);

    /**
     * 获取当前目标WiFi P2P设备
     */
    WifiP2pDevice getTargetWifiP2pDevice();

    /**
     * 清除已保存的WiFi P2P设备信息
     */
    void clearWifiP2pDeviceInfo();

    /**
     * 检查WiFi P2P是否已连接
     */
    boolean isWifiP2pConnected();

    /**
     * 添加WiFi P2P设备扫描监听器
     */
    void addWifiP2pScanListener(WifiP2pScanListener listener);

    /**
     * 移除WiFi P2P设备扫描监听器
     */
    void removeWifiP2pScanListener(WifiP2pScanListener listener);

    /**
     * WiFi P2P设备扫描监听器接口
     */
    interface WifiP2pScanListener {
        void onWifiP2pDeviceFound(WifiP2pDevice device);
        void onWifiP2pScanFinished();
        void onWifiP2pScanError(int errorCode);
    }
}

